﻿///////////////////////////////////////////////////////////////////////////
// 文件名:     pagehelper.h
// 描述:
// 作者:      颜磊
// 创建时间:   2024-06-09 00:55
///////////////////////////////////////////////////////////////////////////
#ifndef PAGEHELPER_H
#define PAGEHELPER_H

#include <QDebug>
#include <QWidget>
namespace Ui
{
class QPageHelper;
}

class QPageHelper : public QWidget
{
    Q_OBJECT

public:
    explicit QPageHelper(QWidget *parent = nullptr);
    ~QPageHelper();

    qlonglong getPageTotal() const;

    qlonglong getItemTotal() const;
    void setItemTotal(const qlonglong &value);

    qlonglong getCurrentPage() const;
    void setCurrentPage(const qlonglong &value);

    int getPageCount() const;
    void setPageCount(int value);
signals:
    void signal_goto(qlonglong pageNum, int pageCount);
private slots:

    void on_beginPage_clicked();

    void on_endPage_clicked();

    void on_nextPageBtn_clicked();

    void on_lastPageBtn_clicked();

    void on_gotoBtn_clicked();

    void on_lastPage_clicked();

    void on_nextPage_clicked();

    void on_pageCount_activated(const QString &arg1);

private:
    Ui::QPageHelper *ui;

private:
    qlonglong itemTotal; //条目总数
    int pageCount;       //页显示条目
    qlonglong pageTotal; //页码总数

    qlonglong beginPage;
    qlonglong lastPage;
    qlonglong currentPage;
    qlonglong nextPage;
    qlonglong endPage;

private:
    void pageChange();
    void resetContol(); //重置控件
};

#endif // PAGEHELPER_H
